Method of frame interpolation for frame rate up-conversion

ABSTRACT

A method of frame interpolation for frame rate up conversion method is provided. The method includes: determining a first adjusting value and a second adjusting value according to a target pixel in at least one of a first frame and a second frame; determining an interpolated pixel value of the target pixel in an interpolated frame between the first frame and the second frame according to the first adjusting value and a pixel value of the target pixel in one of the first and second frames; and adjusting a pixel value of the target pixel in one of the first and second frames according to the second adjusting value.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to image processing, and more particularly, to a method of frame interpolation for frame rate up-conversion.

2. Description of the Prior Art

In order to meet low-bandwidth requirements, video display applications such as video players or mobile video systems have been limited to low frame rates. But from these sources, some image quality issues such as motion blur and flicker can be improved by increasing the frame rate. Therefore, increasing the frame rate by way of a method of frame interpolation for frame rate up-conversion (FRUC)—that is, interpolating an image frame between two original image frames—is a useful method of improving image quality from low frame rate sources.

In the prior art method of frame interpolation for frame rate up-conversion, an interpolated pixel value is directly determined to be the same value as that pixel in the previous frame, or is determined as the average of two pixel values from the two adjacent frames. When the prior method of frame interpolation is applied to an LCD display using the pixel value of a previous frame as an interpolated pixel value, however, it is unable to improve motion blur and flicker artifacts, and also fails to shorten the response time of the LCD. When the prior method of frame interpolation is applied to an LCD display using the average pixel value of two adjacent frames as an interpolated pixel value, however, it is capable of improving motion blur and flicker artifacts but still fails to shorten the response time of the LCD.

Therefore, a novel method of frame interpolation for frame rate up-conversion is required to both improve the motion blur and flicker issues and to shorten the LCD's response time.

SUMMARY OF THE INVENTION

It is an objective of the claimed invention to provide a method for performing frame interpolation for frame rate up-conversion to solve the above-mentioned problems and enhance image quality.

According to one embodiment of the claimed invention, a method of frame interpolation for frame rate up-conversion comprises: determining a first adjusting value and a second adjusting value according to a target pixel in at least one of a first frame and a second frame; determining an interpolated pixel value of the target pixel in an interpolated frame between the first frame and the second frame according to the first adjusting value and a pixel value of the target pixel in one of the first and second frames; and adjusting a pixel value of the target pixel in one of the first and second frames according to the second adjusting value.

These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to a first embodiment of the present invention.

FIG. 2 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to a second embodiment of the present invention.

FIG. 3 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to a third embodiment of the present invention.

FIG. 4 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to a fourth embodiment of the present invention.

FIG. 5 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to a fifth embodiment of the present invention.

FIG. 6 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to a sixth embodiment of the present invention.

FIG. 7 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to a seventh embodiment of the present invention.

FIG. 8 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to an eighth embodiment of the present invention.

DETAILED DESCRIPTION

Please refer to FIG. 1. FIG. 1 is a diagram illustrating calculations of an interpolated pixel value V_(i) _(—) ₁ and an adjusted pixel value in a current frame V_(c) _(—) ₁′ according to a first embodiment of the present invention. As shown in FIG. 1 for a given target pixel, the interpolated pixel value V_(c) _(—) ₁ in an interpolated frame is the sum of a pixel value V_(c) _(—) ₁ in the current frame and a first adjusting value. Additionally, the first adjusting value is a product of a first scaling factor r₁ _(—) ₁ and a pixel value difference V_(d) _(—) ₁ between the pixel value V_(c) _(—) ₁ in the current frame and a pixel value V_(p) _(—) ₁ in a previous frame. The calculation is as follows:

V _(i) _(—) ₁ =V _(c) _(—) ₁+(V _(c) _(—) ₁ −V _(p) _(—) ₁)*r ₁ _(—) ₁  (1)

As shown in FIG. 1 for the given target pixel, the pixel value V_(c) _(—) ₁ in the current frame is greater than the pixel value V_(p) _(—) ₁ in the previous frame, therefore the interpolated pixel value V_(i) _(—) ₁ is greater than the pixel value V_(c) _(—) ₁ in the current frame. In this embodiment, the greater interpolated pixel value V_(i) _(—) ₁ means that the target pixel is operating similar to an LCD overdrive mode. That is, the greater the pixel value difference between the pixel value V_(p) _(—) ₁ in the previous frame and the interpolated pixel value V_(i) _(—) ₁, the greater the change in the driving voltage of the target pixel. From this, the liquid crystal in the LCD can rotate more rapidly and lead to a faster response time, and thus LCD motion blur can also be reduced accordingly.

Regarding the given target pixel, however, the above-mentioned interpolated pixel value V_(i) _(—) ₁ is greater than the pixel value V_(c) _(—) ₁ in the current frame, and the average of the interpolated pixel value V_(i) _(—) ₁ and the pixel value in the current frame V_(c) _(—) ₁ is greater than the pixel value in the current frame V_(c) _(—) ₁, which may result in an improper pixel value displayed on the LCD. To solve this problem, the pixel value V_(c) _(—) ₁ in the current frame needs to be reduced to make the average of the interpolated pixel value V_(i) _(—) ₁ and the adjusted pixel value in the current frame V_(c) _(—) ₁′ closer or equal to the pixel value in the current frame V_(c) _(—) ₁. The adjusted pixel value V_(c) _(—) ₁′ in the current frame is determined as follows:

V _(c) _(—) ₁ ′=V _(c) _(—) ₁−(V _(c) _(—) ₁ −V _(p) _(—) ₁)*r ₂ _(—) ₁  (2)

In the above formula (2), r₂ _(—) ₁ is a second scaling factor and the adjusted pixel value V_(c) _(—) ₁′ in the current frame is utilized to replace the original pixel value V_(c) _(—) ₁ in the current frame as the output pixel value in the current frame. If the second scaling factor r₂ _(—) ₁ is set at the same value as the first scaling factor r₁ _(—) ₁, then the average of the interpolated pixel value V_(i) _(—) ₁ and the adjusted pixel value V_(c) _(—) ₁′ in the current frame is equal to the original pixel value V_(c) _(—) ₁ in the current frame.

In practice, the second scaling factor r₂ _(—) ₁ can be a product of the first scaling factor r₁ _(—) ₁ and a third scaling factor r₃ _(—) ₁. The third scaling factor r₃ _(—) ₁ is utilized to adjust the pixel value in the current frame and to further control the luminance of the displayed image.

Please refer to FIG. 2. FIG. 2 is a diagram illustrating calculations for the interpolated frame data and the current frame data according to a second embodiment of the present invention. The calculations for the interpolated pixel value V_(i) _(—) ₁ and the adjusted pixel value in the current frame V_(c) _(—) ₁′ shown in FIG. 2 are the same as those shown in FIG. 1, but applied to the condition where the pixel value in the current frame V_(c) _(—) ₁ is lower than the pixel value V_(p) _(—) ₁ in the previous frame. As shown in FIG. 2, the pixel value V_(c) _(—) ₁ in the current frame is lower than the pixel value V_(p) _(—) ₁ in the previous frame, and the interpolated pixel value V_(i) _(—) ₁ is therefore lower than the pixel value V_(c) _(—) ₁ in the current frame. In this embodiment, the greater pixel value difference between the pixel value in the previous frame V_(c) _(—) ₁ and an interpolated pixel value V_(i) _(—) ₁ indicates that the target pixel is operating similar to an LCD overdrive method.

Additionally, in this embodiment, the adjusted pixel value in the current frame V_(c) _(—) ₁′ is set to be greater than the pixel value V_(c) _(—) ₁ in the current frame, so as to make the average of the interpolated pixel value V_(i) _(—) ₁ and the pixel value V_(c) _(—) ₁ in the current frame closer or equal to the original pixel value in the current frame V_(c) _(—) ₁.

Please refer to FIG. 3. FIG. 3 is a diagram illustrating calculations for an interpolated pixel value V_(i) _(—) ₂ and an adjusted pixel value in a current frame V_(c) _(—) ₂′ according to a third embodiment of the present invention. As shown in FIG. 3, for a given target pixel, the interpolated pixel value V_(i) _(—) ₂ in an interpolated frame is the difference between a pixel value V_(c) _(—) ₂ in the current frame and a first adjusting value. Additionally, the first adjusting value is a product of a first scaling factor r₁ _(—) ₂ and a pixel value difference V_(d) _(—) ₂ between the pixel value V_(c) _(—) ₂ in the current frame and a pixel value V_(p) _(—) ₂ in the previous frame. The interpolated pixel value V_(i) _(—) ₂ is determined as follows:

V _(i) _(—) ₂ =V _(c) _(—) ₂−(V _(c) _(—) ₂ −V _(p) _(—) ₂)*r ₁ _(—) ₂  (3)

For the given target pixel shown in FIG. 3, the pixel value V_(c) _(—) ₂ in the current frame is greater than the pixel value V_(p) _(—) ₂ in the previous frame. The interpolated pixel value V_(i) _(—) ₂ is between the pixel value V_(c) _(—) ₂ in the current frame and the pixel value V_(p) _(—) ₂ in the previous frame. In this embodiment, the interpolated pixel value V_(i) _(—) ₂ is in the middle of the pixel value V_(C) _(—) ₂ in the current frame and the pixel value V_(p) _(—) ₂ in the previous frame, and the displayed image becomes smoother as a result.

However, the average of the interpolated pixel value V_(i) _(—) ₂ and the pixel value V_(c) _(—) ₂ in the current frame still may be different from the pixel value V_(c) _(—) ₂ in the current frame. Therefore, the pixel value V_(c) _(—) ₂ in the current frame needs to be adjusted, and the adjusted pixel value V_(c) _(—) ₂′ in the current frame is determined as follows:

V _(c) _(—) ₂ ′=V _(c) _(—) ₂+(V _(c) _(—) ₂ −V _(p) _(—) ₂)*r ₂ _(—) ₂  (4)

In the above formula (4), r₂ _(—) ₂ is a second scaling factor, and the adjusted pixel value V_(c) _(—) ₂′ in the current frame is utilized to replace the original pixel value V_(c) _(—) ₂ in the current frame to act as the output pixel value in the current frame. Similarly, if the second scaling factor r₂ _(—) ₂ is set as the same value as the first scaling factor r₁ _(—) ₂, the average of the interpolated pixel value V_(i) _(—) ₂ and the adjusted pixel value V_(c) _(—) ₂′ in the current frame is equal to the pixel value in the current frame V_(c) _(—) ₂.

In practice, the second scaling factor r₂ _(—) ₂ can be a product of the first scaling factor r_(i) _(—) ₂ and a third scaling factor r₃ _(—) ₂. The third scaling factor r₃ _(—) ₂ is utilized to adjust the pixel value in the current frame and to further control the luminance of the image.

Please refer to FIG. 4. FIG. 4 is a diagram illustrating calculations for the interpolated frame data and the current frame data according to a fourth embodiment of the present invention. The calculations for the interpolated pixel value V_(i) _(—) ₂ and the adjusted pixel value V_(c) _(—) ₂′ in the current frame shown in FIG. 4 are the same as those shown in FIG. 3 but applied to a condition whereby the pixel value in the current frame is lower than the pixel value in the previous frame. Further description is omitted here for brevity.

Please refer to FIG. 5. FIG. 5 is a diagram illustrating calculations for an interpolated pixel value V_(i) _(—) ₃ and an adjusted pixel value V_(c) _(—) ₃′ in a current frame according to a fifth embodiment of the present invention. As shown in FIG. 5, for a given target pixel, the interpolated pixel value V_(i) _(—) ₃ in an interpolated frame is set by a pixel value V_(c) _(—) ₃ in a previous frame less a first adjusting value. Additionally, the first adjusting value is a product of a first scaling factor r_(i) _(—) ₃ and a pixel value difference V_(d) _(—) ₃ between the pixel value V_(c) _(—) ₃ in the current frame and a pixel value V_(p) _(—) ₃ in a previous frame. The interpolated pixel value V_(i) _(—) ₃ is determined as follows:

V _(i) _(—) ₃ =V _(p) _(—) ₃−(V _(c) _(—) ₃ −V _(p) _(—) ₃)*r ₁ _(—) ₃  (5)

As shown in FIG. 5, the pixel value V_(c) _(—) ₃ in the current frame is greater than pixel value V_(p) _(—) ₃ in the previous frame; therefore, the interpolated pixel value V_(i) _(—) ₃ is lower than the pixel value V_(c) _(—) ₃ in the previous frame.

However, the above-mentioned interpolated pixel value V_(i) _(—) ₃ is lower than the pixel value V_(p) _(—) ₃ in the current frame, and is also much lower than the pixel value V_(c) _(—) ₃ in the current frame. Therefore, the average of the interpolated pixel value V_(i) _(—) ₃ and the pixel value V_(c) _(—) ₃ in the current frame would also be much lower than the pixel value V_(c) _(—) ₃ in the current frame, which may result in an improper pixel value displayed from the LCD. To solve this problem, the pixel value V_(c) _(—) ₃ in the current frame needs to be increased to make the average of the interpolated pixel value V_(i) _(—) ₃ and the pixel value V_(c) _(—) ₃ in the current frame closer or equal to the original pixel value V_(c) _(—) ₃ in the current frame. The adjusted pixel value V_(c) _(—) ₃′ in the current frame is calculated as follows:

V_(c) _(—) ₃′=V_(c) _(—) ₃+(V_(c) _(—) ₃−V_(p) _(—) ₃)*r₂ _(—) ₃  (6)

In the above formula (6), r₂ _(—) ₃ is a second scaling factor and the adjusted pixel value V_(c) _(—) ₃′ in the current frame is utilized to replace the original pixel value V_(c) _(—) ₃ in the current frame to act as the output pixel value in the current frame. If the second scaling factor r₂ _(—) ₃ is set as the same value as the first scaling factor r₁ _(—) ₃, the average of the interpolated pixel value V_(i) _(—) ₃ and the adjusted pixel value V_(c) _(—) ₃′ in the current frame will be equal to the pixel value V_(c) _(—) ₃ in the current frame.

In practice, the second scaling factor r₂ _(—) ₃ can be a product of the first scaling factor r₁ _(—) ₃ and a third scaling factor r₃ _(—) ₃. The third scaling factor r₃ _(—) ₃ is utilized to adjust the pixel value in the current frame and to further control the luminance of the image.

According to the calculations for the interpolated pixel value V_(i) _(—) ₃ and the adjusted pixel value V_(c) _(—) ₃′ in the current frame, the difference between the interpolated pixel value V_(i) _(—) ₃ and the adjusted pixel value V_(c) _(—) ₃′ in the current frame is greater than the difference between the pixel values V_(p) _(—) ₃ and V_(c) _(—) ₃ in the previous and current frames, respectively. That is, the change in the driving voltage of the target pixel becomes greater, thereby driving the liquid crystal to rotate more rapidly, resulting in a faster response time.

Please refer to FIG. 6. FIG. 6 is a diagram illustrating calculations for the interpolated frame data and the current frame data according to a sixth embodiment of the present invention. The calculations for the interpolated pixel value V_(i) _(—) ₃ and the adjusted pixel value V_(c) _(—) ₃′ in the current frame shown in FIG. 6 are the same as the calculations shown in FIG. 5, but applied to the scenario where the pixel value V_(c) _(—) ₃ in the current frame is lower than the pixel value V_(p) _(—) ₃ in the previous frame.

For the given target pixel shown in FIG. 6, the pixel value V_(c) _(—) ₃ in the current frame is lower than the pixel value V_(p) _(—) ₃ in the previous frame while the interpolated pixel value V_(i) _(—) ₃ is greater than the pixel value V_(p) _(—) ₃ in the previous frame, and the adjusted pixel value V_(c) _(—) ₃′ in the current frame is lower than the pixel value V_(c) _(—) ₃ in the current frame. Thus, the difference between the interpolated pixel value V_(i) _(—) ₃ and the adjusted pixel value V_(c) _(—) ₃′ in the current frame is greater than the difference between the pixel value V_(p) _(—) ₃ in the previous frame and the original pixel value V_(c) _(—) ₃ in the current frame, resulting in fast response time.

According to the above-mentioned embodiments of the present invention, the interpolated pixel value and the adjusted pixel value in the current frame are determined by the formulas with fixed parameters (i.e., the first scaling factor r₁ _(—) ₁, r₁ _(—) ₂, r₁ _(—) ₃ and the second scaling factor r₂ _(—) ₁, r₂ _(—) ₂, r₂ _(—) ₃). However, for the varying pixel values in the previous and current frames, the appropriate interpolated pixel values and the adjusted pixel values in the current frame may not be simply determined by the formula with fixed parameters. To solve this problem, the adjusting values can be determined according to a look-up table.

Please refer to FIG. 7. FIG. 7 is a diagram illustrating calculations of an interpolated pixel value V_(i) _(—) ₄ and an adjusted pixel value V_(c) _(—) ₄′ in a current frame according to a seventh embodiment of the present invention. As shown in FIG. 7, for a given target pixel, the interpolated pixel value V_(i) _(—) ₄ in an interpolated frame is a sum of a pixel value V_(p) _(—) ₄ in a previous frame and a first adjusting value. The first adjusting value is determined via a look-up table LUT having a plurality of entries. Each entry of the look-up table LUT has two parameters V_(p) _(—) ₄ and V_(c) _(—) ₄ serving as index parameters, where V_(p) _(—) ₄ is a pixel value in the previous frame and V_(c) _(—) ₄ is a pixel value in the current frame. The interpolated pixel value V_(i) _(—) ₄ is determined as follows:

V _(i) _(—) ₄ =V _(p) _(—) ₄ +LUT(V _(p) _(—) ₄,V_(c) _(—) ₄)  (7)

As shown in FIG. 7 for the given target pixel, the pixel value V_(c) _(—) ₄ in the current frame is greater than the pixel value V_(p) _(—) ₄ in the previous frame. The interpolated pixel value can be properly determined according to the look-up table to achieve better image quality. Additionally, an adjusted pixel value in the current frame V_(c) _(—) ₄′ can be determined using the look-up table similarly:

V _(c) _(—) ₄ ′=V _(c) _(—) ₄ −LUT(V _(p) _(—) ₄,V_(c) _(—) ₄)  (8)

The adjusted pixel value V_(c) _(—) ₄′ in the current frame is utilized to replace the pixel value in the current frame V_(c) _(—) ₄, in order to make the average of the interpolated pixel value V_(i) _(—) ₄ and the adjusted pixel value V_(c) _(—) ₄′ in the current frame equal to the original pixel value in the current frame V_(c) _(—) ₄.

Please refer to FIG. 8. FIG. 8 is a diagram illustrating calculations for the interpolated frame data and the current frame data according to an eighth embodiment of the present invention. The calculations for the interpolated pixel value V_(i) _(—) ₄ and the adjusted pixel value V_(c) _(—) ₄′ in the current frame shown in FIG. 8 are the same as those shown in FIG. 7, but applied in a scenario where the pixel value in the current frame is lower than the pixel value in the previous frame. Similarly, the interpolated pixel value V_(i) _(—) ₄ and the adjusted pixel value V_(c) _(—) ₄′ are both determined by using the look-up table LUT. Further description is omitted here for brevity.

Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. 

1. A method of frame interpolation for frame rate up-conversion, comprising: determining a first adjusting value and a second adjusting value according to a target pixel in at least one of a first frame and a second frame; determining an interpolated pixel value of the target pixel in an interpolated frame between the first frame and the second frame according to the first adjusting value and a pixel value of the target pixel in one of the first and second frames; and adjusting a pixel value of the target pixel in one of the first and second frames according to the second adjusting value.
 2. The method of claim 1, wherein the step of determining the first adjusting value comprises: calculating a pixel value difference of pixel values of the target pixel in the first frame and the second frame; and determining the first adjusting value according to the pixel value difference and a scaling factor.
 3. The method of claim 1, wherein the step of determining the first adjusting value comprises: determining the first adjusting value according to a look-up table.
 4. The method of claim 1, wherein the step of determining the second adjusting value comprises: calculating a pixel value difference of pixel values of the target pixel in the first frame and the second frame; and determining the second adjusting value according to the pixel value difference and a scaling factor.
 5. The method of claim 1, wherein the step of determining the second adjusting value comprises: determining the second adjusting value according to a look-up table.
 6. The method of claim 1, wherein the first frame precedes the second frame, and the step of determining the interpolated pixel value of the target pixel comprises: determining the interpolated pixel value according to the pixel value of the target pixel in the second frame and the first adjusting value.
 7. The method of claim 1, wherein the first frame precedes the second frame, and the step of determining the interpolated pixel value of the target pixel comprises: determining the interpolated pixel value according to the pixel value of the target pixel in the first frame and the first adjusting value.
 8. The method of claim 1, wherein the first frame precedes the second frame, and the step of adjusting the pixel value of the target pixel in one of the first and second frames comprises: adjusting the pixel value of the target pixel in the second frame according to the second adjusting value.
 9. The method of claim 1, wherein the first frame precedes the second frame, and the step of adjusting the pixel value of the target pixel in one of the first and second frames comprises: adjusting the pixel value of the target pixel in the first frame according to the second adjusting value.
 10. The method of claim 1, wherein the first frame precedes the second frame, and the step of determining the interpolated pixel value of the target pixel in the interpolated frame comprises: when the pixel value of the target pixel in the first frame is less than the pixel value of the target pixel in the second frame, determining the interpolated pixel value according to the first adjusting value and the pixel value of the target pixel in one of the first and second frames, thereby making the interpolated pixel value greater than the pixel value of the target pixel in the second frame; and when the pixel value of the target pixel in the first frame is greater than the pixel value of the target pixel in the second frame, determining the interpolated pixel value according to the first adjusting value and the pixel value of the target pixel in one of the first and second frames, thereby making the interpolated pixel value less than the pixel value of the target pixel in the second frame.
 11. The method of claim 10, wherein the step of adjusting the pixel value of the target pixel in one of the first and second frames according to the second adjusting value comprises: when the pixel value of the target pixel in the first frame is less than the pixel value of the target pixel in the second frame, reducing the pixel value of the target pixel in the second frame according to the second adjusting value; and when the pixel value of the target pixel in the first frame is greater than the pixel value of the target pixel in the second frame, increasing the pixel value of the target pixel in the second frame according to the second adjusting value.
 12. The method of claim 1, wherein the first frame precedes the second frame, and the step of determining the interpolated pixel value of the target pixel in the interpolated frame comprises: when the pixel value of the target pixel in the first frame is less than the pixel value of the target pixel in the second frame, determining the interpolated pixel value according to the first adjusting value and the pixel value of the target pixel in one of the first and second frames, thereby making the interpolated pixel value less than the pixel value of the target pixel in the first frame; and when the pixel value of the target pixel in the first frame is greater than the pixel value of the target pixel in the second frame, determining the interpolated pixel value according to the first adjusting value and the pixel value of the target pixel in one of the first and second frames, thereby making the interpolated pixel value greater than the pixel value of the target pixel in the first frame.
 13. The method of claim 12, wherein the step of adjusting the pixel value of the target pixel in one of the first and second frames according to the second adjusting value comprises: when the pixel value of the target pixel in the first frame is less than the pixel value of the target pixel in the second frame, increasing the pixel value of the target pixel in the second frame according to the second adjusting value; and when the pixel value of the target pixel in the first frame is greater than the pixel value of the target pixel in the second frame, reducing the pixel value of the target pixel in the second frame according to the second adjusting value. 